import * as THREE from "three";
// ##########################################################################################################
// threejs的长方体 BoxGeometry、球体SphereGeometry等几何体都是基于BufferGeometry类构建的，
// BufferGeometry是一个没有任何形状的空几何体，
// 你可以通过BufferGeometry自定义任何几何形状，
// 具体一点说就是定义顶点数据。
// 创建一个空的几何体对象
const geometry = new THREE.BufferGeometry();
// 添加顶点数据
// 类型化数组定义的顶点数据
const vertices = new Float32Array([
    0,
    0,
    0, //第一个顶点坐标
    0,
    50,
    0, //第二个顶点坐标
    20,
    50,
    0, //第3个顶点坐标
    50,
    50,
    20, //第4个顶点坐标
    0,
    80,
    10, //第5个顶点坐标
    10,
    0,
    40, //第6个顶点坐标
]);
// BufferAttribute 属性缓冲对象表示顶点数据
// 3个数据为一组便是一个顶点
const attribue = new THREE.BufferAttribute(vertices, 3);
// 设置几何体的顶点位置属性
geometry.attributes.position = attribue;
// 点材质
const material = new THREE.PointsMaterial({
    color: 0xffffff,
    size: 10,
});
// 点模型
const points = new THREE.Points(geometry, material);

export default points